package com.lenin.omena.client.event;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
import com.lenin.omena.shared.LoginResult;
import com.lenin.omena.shared.SaveUserResult;
import com.lenin.omena.shared.domain.Site;

public class SaveUserEvent extends GwtEvent<SaveUserEventHandler> {

	public static Type<SaveUserEventHandler> TYPE = new Type<SaveUserEventHandler>();

	public static HandlerRegistration register(final EventBus eventBus,
			final SaveUserEventHandler handler) {

		return eventBus.addHandler(SaveUserEvent.TYPE, handler);

	}

	private SaveUserResult result;

	public SaveUserEvent(SaveUserResult result) {
		this.result = result;
	}

	public SaveUserResult getResult() {
		return result;
	}

	@Override
	public Type<SaveUserEventHandler> getAssociatedType() {
		return SaveUserEvent.TYPE;
	}

	@Override
	protected void dispatch(final SaveUserEventHandler handler) {
		handler.onSaveUser(this);
	}

}